/// 正则：手机号（精确）
/// <p>移动：134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、178、182、183、184、187、188</p>
/// <p>联通：130、131、132、145、155、156、171、175、176、185、186</p>
/// <p>电信：133、153、173、177、180、181、189</p>
/// <p>新增: 166及199的正则适配</p>
/// <p>全球星：1349</p>
/// <p>虚拟运营商：170</p>
var REGEX_MOBILE_EXACT = /^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(166)|(17[0,1,3,5-8])|(18[0-9])|(19[8-9]))[0-9]{8}$/;

/// 正则：电话号码
var REGEX_TEL = /^([0]{1}\\d{2,3}-)|([(]?[（]?([0]{1}\\d{2,3})?[)]?[）]?[-]?)[0-9]{7,8}&/;

/// 正则：邮箱
var REGEX_EMAIL = /^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$/;

/// 正则：用户名，取值范围为a-z,A-Z,0-9,"_",汉字，不能以"_"结尾,用户名必须是6-20位
var REGEX_USERNAME = /^[\\w\\u4e00-\\u9fa5]{6,20}(<!_)$/;

/// 密码正则 6-16 位字母加数字组合
var LOGIN_PASSWORD = /^(?=.*\\d)(?=.*[a-zA-Z]).{6,16}$/;
var REGEX_PASSWORD = /^([A-Z]|[a-z]|[0-9]){6,16}$/;

/// 正则：QQ号
var REGEX_TENCENT_QQ = /[1-9][0-9]{4,10}&/;

/// 正则：中国邮政编码
var REGEX_ZIP_CODE = /[1-9]\\d{5}(?!\\d)$/;

/// 正则：中文真实姓名
var REGEX_TURENAME = /^[\\u4e00-\\u9fa5]+$/;
var REGEX_TURENAME_FEW = /^[\\u4e00-\\u9fa5]+[·•][\\u4e00-\\u9fa5]+$/; //少数民族

/// 正则：标签,长度必须是1-4位
var REGEX_TAG = /^[\\w\\u4e00-\\u9fa5]{1,4}$/;

/// 是否有误
function isMatch(regex, input) {
  // console.log(regex+"-"+input);
    if (regex == null || input == null) {
        return false;
    }
  // console.log(!regex.test(input));
    return !regex.test(input);
}

/// 验证是否为正确手机号
function isMobile(phone) {
    return isMatch(REGEX_MOBILE_EXACT, phone);
}

/// 验证是否正确电话号
function isTel(tel) {
    return isMatch(REGEX_TEL, tel);
}

/// 验证是否正确邮箱
function isEmail(email) {
    return isMatch(REGEX_EMAIL, email);
}

/// 验证是否正确密码
function isPasswrodFormat(password) {
    return isMatch(REGEX_PASSWORD, password);
}

/// 验证是否正确QQ长度
function isQQFormat(qq) {
    return isMatch(REGEX_TENCENT_QQ, qq);
}

/// 验证是否正确邮政编码
function isZipCode(zipCode) {
    return isMatch(REGEX_ZIP_CODE, zipCode);
}

/// 验证是否正确姓名
function isTureName(name) {
    if (name.contains('·') || name.contains("•")) {
        return isMatch(REGEX_TURENAME_FEW, name);
    }
    return isMatch(REGEX_TURENAME, name);
}

/// 验证是否正确标签
function isTag(tag) {
    return isMatch(REGEX_TAG, tag);
}

module.exports = {
  isMatch:isMatch,
  isMobile:isMobile,
}